Today, there are many applications that are written in general purpose programming languages. A desired characteristic of these applications is platform independence. That is, an application can be written once and executed on multiple computer platforms. Platform independence for an application written in a general purpose programming language is achieved by compiling the language code into byte code. A special program, known as a byte code interpreter, runs on the host computer system. The byte code interpreter implements a virtual machine on which the byte code is interpreted. Alternatively, the byte code can be translated into usable native code that can be executed by the host computer system. Standardized libraries may also be installed on a host computer system to provide access to features, such as graphics and networking.
General purpose programming languages have been in use for a while and have int the last years become popular for Internet applications, such as web applications and browsing. For example, languages, such as Java, have become very successful with server-side applications, such as web services, or servlets.
Unfortunately, applications written in general purpose programming languages often suffer from certain disadvantages. For example, applications written in a native language, such as C or C++, can typically run faster on a computer system than an application written in general purpose programming language. However, programs available in byte code form can sometimes be more secure because the byte code interpreter can perform additional tests that can prevent invalid use during the execution of the byte code.
Additionally, it may be desirable to provide systems and methods that can efficiently run applications available in byte code form that are independent of platform specifics of the computer.